#  Copyright (c) 2023 Alibaba Group Holding Ltd.

#  Licensed under the Apache License, Version 2.0 (the "License");
#  you may not use this file except in compliance with the License.
#  You may obtain a copy of the License at

#       http:www.apache.org/licenses/LICENSE-2.0

#  Unless required by applicable law or agreed to in writing, software
#  distributed under the License is distributed on an "AS IS" BASIS,
#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#  See the License for the specific language governing permissions and
#  limitations under the License.

check_exit_code() {
  # $1 message
  retVal=$?
  if [ $retVal -ne 0 ]; then
    echo ${1:-"  Command fails with $retVal"}
    exit $retVal
  fi
}

if [ -z "$LOCAL_IP" ]; then
  OS="$(uname|tr '[:upper:]' '[:lower:]')"
  case "$OS" in
    mingw*|cygwin*)
      echo "Please set your local non-loopback IP address into LOCAL_IP environment variable before starting tests."
      exit 1
      ;;
    darwin*)
      echo "Please set your local non-loopback IP address into LOCAL_IP environment variable before starting tests."
      exit 1
      ;;
  esac
  export LOCAL_IP=$(ip route get 1 | sed -n 's/^.*src \([0-9.]*\) .*$/\1/p')
fi
